package acm.pta;

import java.util.*;

public class T9 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Set<Integer>[] sets=new HashSet[sc.nextInt()];
        for (int i = 0; i < sets.length; i++) {
            int n=sc.nextInt();
            sets[i]=new HashSet<>();
            while (n-->0){
                int r = sc.nextInt();
                sets[i].add(r);
            }
        }

        int n = sc.nextInt();
        while (n-- > 0) {
            compare(sets[sc.nextInt()-1],sets[sc.nextInt()-1]);
        }
    }
    public static void compare(Set<Integer> o1,Set<Integer> o2){
        double res=0;
        //n的复杂度
        for (Integer o : o1) {
            if (o2.contains(o)){
                res++;
            }
        }
//        //n+m的复杂度
//        Set<Integer> union=new HashSet<>();
//        union.addAll(o1);
//        union.addAll(o2);
//        res=o1.size()+o2.size()-union.size();
        double nt= o1.size()+o2.size()-res; //1的复杂度
        System.out.println(String.format("%.2f",res/nt*100)+"%");
    }
}
